home *** CD-ROM | disk | FTP | other *** search
/ Garbo / Garbo.cdr / mac / progrmng / mlpmodul.sit / MacLogimoPlus Documentation / DEF3 Files / TextEdit.DEF < prev    next >
Encoding:
Modula Definition  |  1990-06-14  |  5.2 KB  |  103 lines  |  [TEXT/PMED]

  1. DEFINITION MODULE TextEdit;   (* Christoph Fleischer 07.02.85 *)
  2.                               (* MacIntosh Toolbox Text Editor Routines *)
  3.                               (* last modification   22.04.85 *)
  4.                   
  5. FROM SYSTEM IMPORT ADDRESS,ADR;
  6. IMPORT MacBase;
  7. FROM QuickDraw IMPORT GrafPtr,Style,Point,Rect;
  8.  
  9. EXPORT QUALIFIED
  10.   teJustLeft,teJustRight,teJustCenter,
  11.   TERec,TEPtr,TEHandle,CharsHandle,CharsPtr,Chars,
  12.   TEActivate,TECalText,TEClick,TECopy,TECut,TEDeActivate,
  13.   TEDelete,TEDispose,TEIdle,TEInit,TEKey,TENew,TEPaste,
  14.   TEScroll,TESetSelect,TESetText,TEInsert,TEUpdate,
  15.   TESetJust,TEGetText,TextBox;
  16.  
  17. CONST teJustLeft   = 0;  teJustRight  = -1;  teJustCenter = 1;
  18.  
  19. TYPE
  20.   LongInt     = MacBase.LongInt;
  21.   Handle      = MacBase.Handle;
  22.   Ptr         = ADDRESS;
  23.  
  24.   TEHandle = POINTER TO TEPtr;
  25.   TEPtr    = POINTER TO TERec;
  26.   TERec    = RECORD
  27.                destRect:   Rect;                        (*Destination rectangle*)
  28.                viewRect:   Rect;                        (*view rectangle*)
  29.                selRect:    Rect;                        (*Select rectangle*)
  30.                lineHeight: INTEGER;                     (*Current font lineheight*)
  31.                firstBL:    INTEGER;                     (*Current first base line offset*)
  32.                selPoint:   Point;                       (*Selection point(mouseLoc)*)
  33.  
  34.                selStart:   INTEGER;                     (*Selection start*)
  35.                selEnd:     INTEGER;                     (*Selection end*)
  36.  
  37.                active:     INTEGER;                     (*<>0 if active*)
  38.  
  39.                workBreak:  LongInt;                     (*Word break routine*)
  40.                clikLoop:   LongInt;                     (*Click loop routine*)
  41.  
  42.                clickTime:  LongInt;                     (*Time of first click*)
  43.                clickLoc:   INTEGER;                     (*Char. location of click*)
  44.  
  45.                caretTime:  LongInt;                     (*Time for next caret blink*)
  46.                caretState: INTEGER;                     (*On/active booleans*)
  47.  
  48.                just:       INTEGER;                     (*fill style*)
  49.  
  50.                TElength:   INTEGER;                     (*Length of text below*)
  51.                hText:      Handle;                      (*Handle to actual text*)
  52.  
  53.                recalBack:  INTEGER;                     (*<>0 if recal in background*)
  54.                recalLines: INTEGER;                     (*Line being recal'ed*)
  55.                clikStuff:  INTEGER;                     (*click stuff (internal)*)
  56.  
  57.                crOnly:     INTEGER;                     (*Set to -1 if CR line breaks only*)
  58.  
  59.                txFont:     INTEGER;                     (*Text Font*)
  60.                txFace:     Style;                       (*Text Face*)
  61.                txMode:     INTEGER;                     (*Text Mode*)
  62.                txSize:     INTEGER;                     (*Text Size*)
  63.  
  64.                inPort:     GrafPtr;                     (*Grafport*)
  65.  
  66.                highHook:   Ptr;                         (*Highlighting hook*)
  67.                caretHook:  Ptr;                         (*Highlighting hook*)
  68.  
  69.                nLines:     INTEGER;                     (*Number of lines*)
  70.                lineStarts: ARRAY [0..16000] OF INTEGER; (*Actual line starts themselves*)
  71.              END; (*RECORD*)
  72.  
  73.   CharsHandle = POINTER TO CharsPtr;
  74.   CharsPtr    = POINTER TO Chars;
  75.   Chars       = ARRAY[0..32000] OF CHAR;
  76.  
  77.  
  78. PROCEDURE TEActivate( h: TEHandle );                                 (*INLINE $A9D8*)
  79. PROCEDURE TECalText( h: TEHandle );                                  (*INLINE $A9D0*)
  80. PROCEDURE TEClick( pt: Point; extend: BOOLEAN; h: TEHandle );        (*INLINE $A9D4*)
  81. PROCEDURE TECopy( h: TEHandle );                                     (*INLINE $A9D5*)
  82. PROCEDURE TECut( h: TEHandle );                                      (*INLINE $A9D6*)
  83. PROCEDURE TEDeActivate( h: TEHandle );                               (*INLINE $A9D9*)
  84. PROCEDURE TEDelete( h: TEHandle );                                   (*INLINE $A9D7*)
  85. PROCEDURE TEDispose( h: TEHandle );                                  (*INLINE $A9CD*)
  86. PROCEDURE TEIdle( h: TEHandle );                                     (*INLINE $A9DA*)
  87. PROCEDURE TEInit;                                                    (*INLINE $A9CC*)
  88. PROCEDURE TEKey( key: CHAR; h: TEHandle );                           (*INLINE $A9DC*)
  89. PROCEDURE TENew(VAR dest, view: Rect ): TEHandle;                    (*INLINE $A9D2*)
  90. PROCEDURE TEPaste( h: TEHandle );                                    (*INLINE $A9DB*)
  91. PROCEDURE TEScroll( dh, dv: INTEGER; h: TEHandle );                  (*INLINE $A9DD*)
  92. PROCEDURE TESetSelect( selStart, selEnd: LongInt; h: TEHandle  );    (*INLINE $A9D1*)
  93. PROCEDURE TESetText( inText: Ptr; textLength: LongInt; h: TEHandle );(*INLINE $A9CF*)
  94. PROCEDURE TEInsert( inText: Ptr; textLength: LongInt; h: TEHandle ); (*INLINE $A9DE*)
  95. PROCEDURE TEUpdate(VAR rUpdate: Rect; h: TEHandle );                 (*INLINE $A9D3*)
  96. PROCEDURE TESetJust( just: INTEGER; h: TEHandle );                   (*INLINE $A9DF*)
  97. PROCEDURE TEGetText( h: TEHandle ): CharsHandle;                     (*INLINE $A9CB*)
  98.  
  99. (*Box drawing utility*)
  100. PROCEDURE TextBox( inText: Ptr; textLength: LongInt;VAR r: Rect; style: INTEGER );(*INLINE $A9CE*)
  101.  
  102. END TextEdit.
  103.